---
title: "Global"
output:
flexdashboard::flex_dashboard:
theme:
version: 4
primary: "white"
navbar-bg: "#002231"
source_code: embed
---
```{r setup, include=FALSE}
library(dygraphs)
library(xts)
library(lubridate)
library(dplyr)
library(tidyr)
library(leaflet)
library(sp)
library(raster)
library(mapview)
library(leafsync)
library(glue)
library(htmltools)
#author: Wanda Bodnar
## Data sources:
#https://climate.metoffice.cloud/dashboard.html,
#https://www.metoffice.gov.uk/pub/data/weather/uk/climate/datasets/Tmean/date/UK.txt,
#https://www.metoffice.gov.uk/pub/data/weather/uk/climate/stationdata/heathrowdata.txt,
##https://www.kaggle.com/datasets/noahx1/london-weather-2000-2023,
#https://psmsl.org/data/,
#https://www.sciencedirect.com/science/article/pii/S0079661121000112?via%3Dihub#s0180,
#https://uk-cri.org/
```
Column {data-width=550}
-------------------------------------
### Atmospheric carbon-dioxide concentration
```{r}
mauna <- read.csv(url("https://climate.metoffice.cloud/formatted_data/co2_Mauna%20Loa%20CO2.csv"))
mauna$Year <- as.numeric(mauna$Year)
mauna <- mauna %>%
group_by(Year) %>%
dplyr::summarize(Mean_Mauna = mean(Mauna.Loa.CO2..ppm., na.rm = TRUE))
NOAA <- read.csv(url("https://climate.metoffice.cloud/formatted_data/co2_NOAA%20CO2.csv"))
NOAA$Year <- as.numeric(NOAA$Year)
NOAA <- NOAA %>%
group_by(Year) %>%
dplyr::summarize(Mean_NOAA = mean(NOAA.CO2..ppm., na.rm = TRUE))
WDCGG <- read.csv(url("https://climate.metoffice.cloud/formatted_data/co2_WDCGG%20CO2.csv"))
WDCGG$Year <- as.numeric(WDCGG$Year)
WDCGG <- WDCGG %>%
group_by(Year) %>%
dplyr::summarize(Mean_WDCGG = mean(WDCGG.CO2..ppm., na.rm = TRUE))
carbon <- merge(mauna, NOAA, by = "Year", all = T)
carbon <- merge(carbon, WDCGG, by = "Year")
names(carbon)[names(carbon) == "Mean_Mauna"] <- "Mauna Loa"
names(carbon)[names(carbon) == "Mean_NOAA"] <- "NOAA"
names(carbon)[names(carbon) == "Mean_WDCGG"] <- "WDCGG"
dygraph(carbon, main = "") %>%
dyOptions(colors = RColorBrewer::brewer.pal(3, "Set3")) %>%
dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
dyAxis("y", label = "Parts per million (ppm)") %>%
dyRangeSelector()
```
### Mean temperature difference from 1850-1900
```{r}
HadCRUT5 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/gmt_HadCRUT5.csv"))
HadCRUT5$Year <- as.numeric(HadCRUT5$Year)
NOAA <- read.csv(url("https://climate.metoffice.cloud/formatted_data/gmt_NOAAGlobalTemp.csv"))
NOAA$Year <- as.numeric(NOAA$Year)
berkeley <- read.csv(url("https://climate.metoffice.cloud/formatted_data/gmt_Berkeley%20Earth.csv"))
berkeley$Year <- as.numeric(berkeley$Year)
temp <- merge(HadCRUT5, NOAA, by = "Year", all = T)
temp <- merge(temp, berkeley, by = "Year", all = T)
temp <- subset(temp, select= -c(HadCRUT5.uncertainty, NOAAGlobalTemp.uncertainty, Berkeley.Earth.uncertainty))
names(temp)[names(temp) == "HadCRUT5..degC."] <- "Met Office"
names(temp)[names(temp) == "NOAAGlobalTemp..degC."] <- "NOAA"
names(temp)[names(temp) == "Berkeley.Earth..degC."] <- "Berkeley Earth"
dygraph(temp, main = "") %>%
dyOptions(colors = RColorBrewer::brewer.pal(3, "Dark2")) %>%
dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
dyAxis("y", label = "Temperature (°C)") %>%
dyRangeSelector()
```
Row {data-height=500}
-------------------------------------
### Ocean heat content difference from 1981-2010
```{r}
EN.4.2.2.c14 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.c14.csv"))
EN.4.2.2.c14$Year <- as.numeric(EN.4.2.2.c14$Year)
Levitus <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_Levitus.csv"))
Levitus$Year <- as.numeric(Levitus$Year)
EN.4.2.2.c13 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.c13.csv"))
EN.4.2.2.c13$Year <- as.numeric(EN.4.2.2.c13$Year)
EN.4.2.2.g10 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.g10.csv"))
EN.4.2.2.g10$Year <- as.numeric(EN.4.2.2.g10$Year)
EN.4.2.2.l09 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.l09.csv"))
EN.4.2.2.l09$Year <- as.numeric(EN.4.2.2.l09$Year)
IAP <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_IAP.csv"))
IAP$Year <- as.numeric(IAP$Year)
JMA <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_JMA.csv"))
JMA$Year <- as.numeric(JMA$Year)
oceanheat <- merge(EN.4.2.2.c14, Levitus, by = "Year", all = T)
oceanheat <- merge(oceanheat, EN.4.2.2.c13, by = "Year", all = T)
oceanheat <- merge(oceanheat, EN.4.2.2.g10, by = "Year", all = T)
oceanheat <- merge(oceanheat, EN.4.2.2.l09, by = "Year", all = T)
oceanheat <- merge(oceanheat, IAP, by = "Year", all = T)
oceanheat <- merge(oceanheat, JMA, by = "Year", all = T)
oceanheat <- subset(oceanheat, select= -c(EN.4.2.2.c14.uncertainty,
Levitus.uncertainty,
EN.4.2.2.c13.uncertainty,
EN.4.2.2.g10.uncertainty,
EN.4.2.2.l09.uncertainty,
IAP.uncertainty,
JMA.uncertainty))
names(oceanheat)[names(oceanheat) == "EN.4.2.2.c14..10ZJ."] <- "EN.4.2.2.c14"
names(oceanheat)[names(oceanheat) == "Levitus..10ZJ."] <- "Levitus"
names(oceanheat)[names(oceanheat) == "EN.4.2.2.c13..10ZJ."] <- "EN.4.2.2.c13"
names(oceanheat)[names(oceanheat) == "EN.4.2.2.g10..10ZJ."] <- "EN.4.2.2.g10"
names(oceanheat)[names(oceanheat) == "EN.4.2.2.l09..10ZJ."] <- "EN.4.2.2.l09"
names(oceanheat)[names(oceanheat) == "IAP..10ZJ."] <- "IAP"
names(oceanheat)[names(oceanheat) == "JMA..10ZJ."] <- "JMA"
dygraph(oceanheat, main = "") %>%
dyOptions(colors = RColorBrewer::brewer.pal(7, "Dark2")) %>%
dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
dyAxis("y", label = "10<sup>22</sup> Joules") %>%
dyRangeSelector()
```
### Sea level difference from 1981-2010
```{r}
palmer <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_Palmer%20et%20al.%202021.csv"))
palmer$Year <- as.numeric(palmer$Year)
CW2011 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_CW2011.csv"))
CW2011$Year <- as.numeric(CW2011$Year)
HA2015 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_HA2015.csv"))
HA2015$Year <- as.numeric(HA2015$Year)
DA2019 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_DA2019.csv"))
DA2019$Year <- as.numeric(DA2019$Year)
FR2020 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_FR2020.csv"))
FR2020$Year <- as.numeric(FR2020$Year)
sealevel <- merge(palmer, CW2011, by = "Year", all = T)
sealevel <- merge(sealevel, HA2015, by = "Year", all = T)
sealevel <- merge(sealevel, DA2019, by = "Year", all = T)
sealevel <- merge(sealevel, FR2020, by = "Year", all = T)
sealevel <- subset(sealevel, select= -c(Palmer.et.al..2021.uncertainty,
CW2011.uncertainty,
HA2015.uncertainty,
DA2019.uncertainty,
FR2020.uncertainty))
names(sealevel)[names(sealevel) == "Palmer.et.al..2021..mm."] <- "Palmer et al. 2021"
names(sealevel)[names(sealevel) == "CW2011..mm."] <- "CW2011"
names(sealevel)[names(sealevel) == "HA2015..mm."] <- "HA2015"
names(sealevel)[names(sealevel) == "DA2019..mm."] <- "DA2019"
names(sealevel)[names(sealevel) == "FR2020..mm."] <- "FR2020"
dygraph(sealevel, main = "") %>%
dyOptions(colors = RColorBrewer::brewer.pal(5, "Set2")) %>%
dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
dyAxis("y", label = "Milimetres (mm)") %>%
dyRangeSelector()
```